package chapter4;

import java.util.Arrays;

public class ArrayTest2 {
    public static void main(String[] args) {
        int[] arr1 = new int[] {3, -4, 25, 16, 30, 18};
        Arrays.parallelSort(arr1);
        System.out.println(Arrays.toString(arr1));
        int[] arr2 = new int[] {3, -4, 25, 16, 30, 18};
        /*
            parallelPrefix使用参数指定的计算公式计算得到的结果作为新的元素，
            参数公式有两个参数，left代表数组中前一个索引处的元素，当计算第一个元素时，
            left默认为1，以下的公式中，第一个元素计算为1*3，将计算结果与后续的元素相乘
            以此类推到数组的最后一个元素
         */
        Arrays.parallelPrefix(arr2, (left, right) -> left * right);
        System.out.println(Arrays.toString(arr2));
        int[] arr3 = new int[5];
        /*
            下边的公式中参数operand代表正在计算的元素的索引，将索引值*5生成新的数组
         */
        Arrays.parallelSetAll(arr3, operand -> operand * 5);
        System.out.println(Arrays.toString(arr3));
    }
}
